package cn.exrick.xboot.modules.account.mapper;

import cn.exrick.xboot.modules.account.entity.Account;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;


/**
 * 财务信息数据处理层
 * @author sdtf
 */
public interface AccountMapper extends BaseMapper<Account> {

    /**
     * 获取首页数据--本年
     */
    Account getxjlr();//获取现金流入
    Account getxjlc();//获取现金流出
    Account getsrqr();//获取收入确认
    Account getyszk();//获取应收账款
    Account getkpmoney();//获取开票金额
    Account getspmoney();//获取收票金额

    /**
     * 获取首页数据--本月
     */
    Account getxjlrByMonth();//获取现金流入
    Account getxjlcByMonth();//获取现金流出
    Account getsrqrByMonth();//获取收入确认
    Account getyszkByMonth();//获取应收账款
    Account getkpmoneyByMonth();//获取开票金额
    Account getspmoneyByMonth();//获取收票金额


    /**
     * 现金流流入排行--本年
     * @return
     */
    List<Account> getXJLROrderByYear();

    /**
     * 现金流流出排行--本年
     * @return
     */
    List<Account> getXJLCOrderByYear();


    /**
     * 现金流流入排行--本月
     * @return
     */
    List<Account> getXJLROrderByMonth();

    /**
     * 现金流流出排行--本月
     * @return
     */
    List<Account> getXJLCOrderByMonth();


    /**
     * 应收账款排行--本年--结算款
     * @return
     */
    List<Account> getYSZKOrder();
    /**
     * 应收账款排行--本年--进度款
     * @return
     */
    List<Account> getYSZKOrderjdk();

    /**
     * 应收账款排行--本月--结算款
     * @return
     */
    List<Account> getYSZKOrderByMonth();
    /**
     * 应收账款排行--本月--进度款
     * @return
     */
    List<Account> getYSZKOrderjdkByMonth();


    /**
     * 收入确认金额 -- 本年
     * @return
     */
    List<Account> getSRQROrder();
    /**
     * 收入确认金额 -- 本月
     * @return
     */
    List<Account> getSRQROrderByMonth();


    /**
     * 合同签订金额排行--本年
     * @return
     */
    List<Account> getContractMoney();

    /**
     * 合同签订金额排行--本月
     * @return
     */
    List<Account> getContractMoneyByMonth();

    /**
     * 合同签订情况--柱状折线图--本年
     * @return
     */
    List<Account> getContractInfoLine();

    /**
     * 合同签订情况--柱状折线图--本年
     * @return
     */
    List<Account> getContractInfoLineByMonth();

    /**
     * 获取收票金额--本年
     * @return
     */
    List<Account> getSPOrder();
    /**
     * 获取开票金额--本年
     * @return
     */
    List<Account> getKPOrder();

    /**
     * 获取收票金额--本月
     * @return
     */
    List<Account> getSPOrderByMonth();
    /**
     * 获取开票金额--本月
     * @return
     */
    List<Account> getKPOrderByMonth();


    /**
     * 现金流情况--折线图-按照时间
     * @return
     */
    List<Account> getXJLInfoByTime();

    List<Account> getXJLCInfoByTime();


    /**
     * 二级菜单---本年
     * @return
     */
    List<Account> getAllDept();

    List<Account> getContractMoney1();

    List<Account> getSRQROrder1();

    List<Account> getXJLROrderByYear1();

    List<Account> getXJLCOrderByYear1();

    List<Account> getKPOrder1();

    List<Account> getSPOrder1();

    List<Account> getYSZKOrder1();

    List<Account> getYSZKOrderjdk1();



    /**
     * 二级菜单---本月
     * @return
     */
    List<Account> getContractMoneyByMonth1();

    List<Account> getSRQROrderByMonth1();

    List<Account> getXJLROrderByMonth1();

    List<Account> getXJLCOrderByMonth1();

    List<Account> getKPOrderByMonth1();

    List<Account> getSPOrderByMonth1();

    List<Account> getYSZKOrderByMonth1();

    List<Account> getYSZKOrderjdkByMonth1();
}
